home *** CD-ROM | disk | FTP | other *** search
- Unit spx_obj;
-
- {$X+,O+ }
- { SPX Library Version 3.0 Copyright 1994 Scott D. Ramsay }
-
- Interface
-
- Uses Strings,Objects;
-
- type
- objmode = (dNothing,dDraw,dErase,dUpdate,dCalc);
- plist = ^tlist;
- PObjs = ^TObjs;
- TObjs = object(TObject)
- powner : plist;
- killed,cankill,
- overshow : boolean;
- id : integer;
- constructor init;
- constructor Load(var S:TStream);
- procedure Store(var S:TStream);
- procedure DrawItemObject;virtual;
- procedure CalcItemObject;virtual;
- procedure EraseItemObject;virtual;
- procedure UpdateItemObject;virtual;
- function CheckHit(hx,hy:integer;item:pobjs):boolean;virtual;
- destructor done; virtual;
- end;
- tlist = record
- item : pobjs;
- prev,next : plist;
- end;
- padd = ^tadd;
- tadd = record
- ta : plist;
- front : boolean;
- next : padd;
- end;
- pkill = ^tkill;
- tkill = record
- tk : plist;
- next : pkill;
- end;
-
- const
- RObjs : TStreamRec = (
- ObjType: 1000;
- VmtLink: Ofs(TypeOf(TObjs)^);
- Load: @TObjs.Load;
- Store: @TObjs.Store
- );
-
-
- function addp(var nkbeg,nkend:plist;p:plist):plist; { same as addend: for compatibility }
- function addbeg(var nkbeg,nkend:plist;p:plist):plist;
- function addend(var nkbeg,nkend:plist;p:plist):plist;
- procedure deletep(var nkbeg,nkend,p:plist);
- procedure add2add_list(var add:padd;i:plist;front:boolean);
- procedure cleanadd_list(var add:padd;var nkbeg,nkend:plist);
- procedure add2kill_list(var kill:pkill;i:plist);
- procedure cleankill_list(var kill:pkill;var nkbeg,nkend:plist);
- procedure clean_plist(var nkbeg,nkend:plist);
- procedure doallitems(head:plist;m:objmode);
-
-